package cn.italkcloud.cph.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * VOS账户
 * </p>
 *
 * @author dominate
 * @since 2024-07-05
 */
@Getter
@Setter
@Accessors(chain = true)
@ToString
@TableName("vos_customer")
public class VosCustomer implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 所属账号ID
     */
    @TableField("account_id")
    private Integer accountId;

    @TableField("server_id")
    private Integer serverId;

    /**
     * vos 账户名称
     */
    @TableField("vos_name")
    private String vosName;

    /**
     * vos 账户号码 唯一
     */
    @TableField("vos_account")
    private String vosAccount;

    /**
     * 余额
     */
    @TableField("money")
    private BigDecimal money;

    /**
     * 透支限额
     */
    @TableField("limit_money")
    private BigDecimal limitMoney;

    /**
     * 计费费率组
     */
    @TableField("fee_rate_group")
    private String feeRateGroup;

    /**
     * 账户类型 0普通账户 1 电话卡 2结算账户
     */
    @TableField("type")
    private Integer type;

    /**
     * 锁定类型 0未锁定 1锁定
     */
    @TableField("lock_type")
    private Integer lockType;

    /**
     * true已注销 false未注销
     */
    @TableField("canceled")
    private Boolean canceled;

    /**
     * 启用时间
     */
    @TableField("start_time")
    private Date startTime;

    /**
     * 有效时间
     */
    @TableField("valid_time")
    private Date validTime;

    /**
     * 今日消费
     */
    @TableField("today_consumption")
    private BigDecimal todayConsumption;

    @TableField("create_time")
    private Date createTime;

    @TableField("update_time")
    private Date updateTime;

    @TableField("is_del")
    private Boolean isDel;


}
